<!DOCTYPE html><html xmlns:date="http://exslt.org/dates-and-times" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
<meta charset="utf-8">
<title>Plurious Framework » \plurious\apps\admin\model\User_Admin_Model</title>
<meta name="author" content="Mike van Riel">
<meta name="description" content="">
<link href="../css/template.css" rel="stylesheet" media="all">
<script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script><script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script><script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script><script src="../js/bootstrap.js" type="text/javascript"></script><script src="../js/template.js" type="text/javascript"></script><script src="../js/prettify/prettify.min.js" type="text/javascript"></script><link rel="shortcut icon" href="../img/favicon.ico">
<link rel="apple-touch-icon" href="../img/apple-touch-icon.png">
<link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png">
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner"><div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a><a class="brand" href="../index.html">Plurious Framework</a><div class="nav-collapse"><ul class="nav">
<li class="dropdown">
<a href="#api" class="dropdown-toggle" data-toggle="dropdown">
                                    API Documentation <b class="caret"></b></a><ul class="dropdown-menu">
<li><a>Namespaces</a></li>
<li><a href="../namespaces/framework.html"><i class="icon-th"></i> framework</a></li>
<li><a href="../namespaces/global.html"><i class="icon-th"></i> global</a></li>
<li><a href="../namespaces/plurious.html"><i class="icon-th"></i> plurious</a></li>
</ul>
</li>
<li class="dropdown" id="charts-menu">
<a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
                                    Charts <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="../graph_class.html"><i class="icon-list-alt"></i> Class hierarchy diagram</a></li></ul>
</li>
<li class="dropdown" id="reports-menu">
<a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
                                    Reports <b class="caret"></b></a><ul class="dropdown-menu">
<li><a href="../errors.html"><i class="icon-remove-sign"></i> Errors 
                <span class="label label-info">439</span></a></li>
<li><a href="../markers.html"><i class="icon-map-marker"></i> Markers 
                <ul><li>todo 
                <span class="label label-info">82</span>
</li></ul></a></li>
<li><a href="../deprecated.html"><i class="icon-stop"></i> Deprecated elements 
                <span class="label label-info">0</span></a></li>
</ul>
</li>
</ul></div>
</div></div>
<div class="go_to_top"><a href="#___" style="color: inherit">Back to top  <i class="icon-upload icon-white"></i></a></div>
</div>
<div id="___" class="container">
<noscript><div class="alert alert-warning">
                            Javascript is disabled; several features are only available
                            if Javascript is enabled.
                        </div></noscript>
<div class="row">
<div class="span4">
<span class="btn-group visibility" data-toggle="buttons-checkbox"><button class="btn public active" title="Show public elements">Public</button><button class="btn protected" title="Show protected elements">Protected</button><button class="btn private" title="Show private elements">Private</button><button class="btn inherited active" title="Show inherited elements">Inherited</button></span><div class="btn-group view pull-right" data-toggle="buttons-radio">
<button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button><button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
</div>
<ul class="side-nav nav nav-list">
<li class="nav-header">
<i class="icon-custom icon-method"></i> Methods</li>
<li class="method public "><a href="#__construct" title="__construct :: Provides access to the system registry and base classes."><span class="description">Provides access to the system registry and base classes.</span><pre>__construct()</pre></a></li>
<li class="method public "><a href="#activate" title="activate :: Activate a user account"><span class="description">Activate a user account</span><pre>activate()</pre></a></li>
<li class="method public "><a href="#add" title="add :: Adds a user record to auth_table."><span class="description">Adds a user record to auth_table.</span><pre>add()</pre></a></li>
<li class="method public "><a href="#deactivate" title="deactivate :: Dectivate a user account"><span class="description">Dectivate a user account</span><pre>deactivate()</pre></a></li>
<li class="method public "><a href="#deleteUser" title="deleteUser :: Permanently removes the record"><span class="description">Permanently removes the record</span><pre>deleteUser()</pre></a></li>
<li class="method public "><a href="#getAll" title="getAll :: Retrieves a list of all user records"><span class="description">Retrieves a list of all user records</span><pre>getAll()</pre></a></li>
<li class="method public "><a href="#getUser" title="getUser :: Gets a single record from the authentication database or throws and error"><span class="description">Gets a single record from the authentication database or throws and error</span><pre>getUser()</pre></a></li>
<li class="method public "><a href="#lock" title="lock :: Lock a user account and immediately destroy their session (log them out)"><span class="description">Lock a user account and immediately destroy their session (log them out)</span><pre>lock()</pre></a></li>
<li class="method public "><a href="#unlock" title="unlock :: Unlock a user account"><span class="description">Unlock a user account</span><pre>unlock()</pre></a></li>
<li class="method public "><a href="#updateUser" title="updateUser :: Update a user record"><span class="description">Update a user record</span><pre>updateUser()</pre></a></li>
<li class="nav-header">
<i class="icon-custom icon-property"></i> Properties</li>
<li class="nav-header private">» Private</li>
<li class="property private "><a href="#%24auth_table" title="$auth_table :: "><span class="description">$auth_table</span><pre>$auth_table</pre></a></li>
<li class="property private "><a href="#%24config" title="$config :: "><span class="description">$config</span><pre>$config</pre></a></li>
<li class="property private "><a href="#%24forge" title="$forge :: "><span class="description">$forge</span><pre>$forge</pre></a></li>
<li class="property private "><a href="#%24passwordCol" title="$passwordCol :: "><span class="description">$passwordCol</span><pre>$passwordCol</pre></a></li>
<li class="property private "><a href="#%24registry" title="$registry :: "><span class="description">$registry</span><pre>$registry</pre></a></li>
<li class="property private "><a href="#%24session" title="$session :: "><span class="description">$session</span><pre>$session</pre></a></li>
<li class="property private "><a href="#%24useridCol" title="$useridCol :: "><span class="description">$useridCol</span><pre>$useridCol</pre></a></li>
<li class="property private "><a href="#%24usernameCol" title="$usernameCol :: "><span class="description">$usernameCol</span><pre>$usernameCol</pre></a></li>
</ul>
</div>
<div class="span8">
<a name="%5Cplurious%5Capps%5Cadmin%5Cmodel%5CUser_Admin_Model" id="\plurious\apps\admin\model\User_Admin_Model"></a><ul class="breadcrumb">
<li>
<a href="../index.html"><i class="icon-custom icon-class"></i></a><span class="divider">\</span>
</li>
<li><a href="../namespaces/plurious.html">plurious</a></li>
<span class="divider">\</span><li><a href="../namespaces/plurious.apps.html">apps</a></li>
<span class="divider">\</span><li><a href="../namespaces/plurious.apps.admin.html">admin</a></li>
<span class="divider">\</span><li><a href="../namespaces/plurious.apps.admin.model.html">model</a></li>
<li class="active">
<span class="divider">\</span><a href="../classes/plurious.apps.admin.model.User_Admin_Model.html">User_Admin_Model</a>
</li>
</ul>
<div href="../classes/plurious.apps.admin.model.User_Admin_Model.html" class="element class">
<p class="short_description">User_Admin_Model</p>
<div class="details">
<p class="long_description"><p>Extends Model.</p>

<p>Auth_Model CRUD functions for user authentication</p>

<p>A unique model that provides for a standard starting point - the user data
table - and then automagically allows the developer/user to add table
columns with no extra effort.  A simple call to the add() method using
column=>data array elements will add any non-existant columns in the array.
These newly added and permanent columns can then be used for all future
operations on that table.</p>

<p>Features provided by this function:
Add user            // Create in crud land
Get user            // Retrieve in crud land
Update user         // Update - hey I got one right
Delete user         // Delete - There's two!
List All users
Activate user
Deactivate user
Lock user
Unlock user</p></p>
<table class="table table-bordered">
<tr>
<th>author</th>
<td><a href="mailto:randy@plurious.com">Randy Casburn</a></td>
</tr>
<tr>
<th>copyright</th>
<td>Copyright Plurious Software, all rights reserved</td>
</tr>
<tr>
<th>license</th>
<td><a href="http://opensource.org/licenses/MIT">MIT</a></td>
</tr>
<tr>
<th>license</th>
<td><a href="http://www.opensource.org/licenses/mit-license.html">http://www.opensource.org/licenses/mit-license.html</a></td>
</tr>
<tr>
<th>link</th>
<td><a href="http://plurious.com/framework/documentation/classes/Front.html">http://plurious.com/framework/documentation/classes/Front.html</a></td>
</tr>
<tr>
<th>version</th>
<td>2.1</td>
</tr>
<tr>
<th>uses</th>
<td>\framework\library\Model</td>
</tr>
<tr>
<th>uses</th>
<td>\framework\Front</td>
</tr>
<tr>
<th>uses</th>
<td>\plurious\apps\admin\model\Auth_Forge</td>
</tr>
</table>
<h3>
<i class="icon-custom icon-method"></i> Methods</h3>
<a name="__construct" id="__construct"></a><div class="element clickable method public __construct" data-toggle="collapse" data-target=".__construct .collapse">
<h2>Provides access to the system registry and base classes.</h2>
<pre>__construct(string $name, string $user, string $pw, string $type, string $host, string $port) </pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<p class="long_description"><p>If authentication data is stored in a separate database provide the
relavent data to the construtor (and parent constructor).</p></p>
<h3>Parameters</h3>
<div class="subelement argument">
<h4>$name</h4>
<code>string</code><p>Database name</p></div>
<div class="subelement argument">
<h4>$user</h4>
<code>string</code><p>Database username</p></div>
<div class="subelement argument">
<h4>$pw</h4>
<code>string</code><p>Database password</p></div>
<div class="subelement argument">
<h4>$type</h4>
<code>string</code><p>Database type (MSSQL, MYSQL, PGSQL, SQLITE, etc.)</p>
</div>
<div class="subelement argument">
<h4>$host</h4>
<code>string</code><p>Database host</p></div>
<div class="subelement argument">
<h4>$port</h4>
<code>string</code><p>Database port</p></div>
</div></div>
</div>
<a name="activate" id="activate"></a><div class="element clickable method public activate" data-toggle="collapse" data-target=".activate .collapse">
<h2>Activate a user account</h2>
<pre>activate(int $uid) : int</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<p class="long_description"><p>Could be used with a registration system to respond to an automated
email notification, etc.</p></p>
<h3>Parameters</h3>
<div class="subelement argument">
<h4>$uid</h4>
<code>int</code>
</div>
<h3>Returns</h3>
<div class="subelement response">
<code>int</code>Success or Error Id</div>
</div></div>
</div>
<a name="add" id="add"></a><div class="element clickable method public add" data-toggle="collapse" data-target=".add .collapse">
<h2>Adds a user record to auth_table.</h2>
<pre>add(array $columnData) : int</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<p class="long_description"></p>
<table class="table table-bordered">
<tr>
<th>uses</th>
<td>\plurious\apps\admin\model\Auth_Forge</td>
</tr>
<tr>
<th>see</th>
<td>\plurious\apps\admin\model\Auth_Forge</td>
</tr>
</table>
<h3>Parameters</h3>
<div class="subelement argument">
<h4>$columnData</h4>
<code>array</code><p>Collection of rows and values to add</p></div>
<h3>Returns</h3>
<div class="subelement response">
<code>int</code>The lastInsertId() or the error id</div>
</div></div>
</div>
<a name="deactivate" id="deactivate"></a><div class="element clickable method public deactivate" data-toggle="collapse" data-target=".deactivate .collapse">
<h2>Dectivate a user account</h2>
<pre>deactivate(int $uid) : int</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<p class="long_description"><p>Does not delete the record...can be reactivated at any time.</p></p>
<h3>Parameters</h3>
<div class="subelement argument">
<h4>$uid</h4>
<code>int</code>
</div>
<h3>Returns</h3>
<div class="subelement response">
<code>int</code>Success or Error Id</div>
</div></div>
</div>
<a name="deleteUser" id="deleteUser"></a><div class="element clickable method public deleteUser" data-toggle="collapse" data-target=".deleteUser .collapse">
<h2>Permanently removes the record</h2>
<pre>deleteUser(int $uid, bool $isSelf) : int</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<p class="long_description"></p>
<h3>Parameters</h3>
<div class="subelement argument">
<h4>$uid</h4>
<code>int</code>
</div>
<div class="subelement argument">
<h4>$isSelf</h4>
<code>bool</code>
</div>
<h3>Returns</h3>
<div class="subelement response">
<code>int</code>Success or Error Id</div>
</div></div>
</div>
<a name="getAll" id="getAll"></a><div class="element clickable method public getAll" data-toggle="collapse" data-target=".getAll .collapse">
<h2>Retrieves a list of all user records</h2>
<pre>getAll() : array</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<p class="long_description"></p>
<h3>Returns</h3>
<div class="subelement response">
<code>array</code>List of all recorded users</div>
</div></div>
</div>
<a name="getUser" id="getUser"></a><div class="element clickable method public getUser" data-toggle="collapse" data-target=".getUser .collapse">
<h2>Gets a single record from the authentication database or throws and error</h2>
<pre>getUser(int $uid) : mixed</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<p class="long_description"></p>
<h3>Parameters</h3>
<div class="subelement argument">
<h4>$uid</h4>
<code>int</code><p>User Id</p></div>
<h3>Returns</h3>
<div class="subelement response">
<code>mixed</code>Array of result rows or an int error indicator</div>
</div></div>
</div>
<a name="lock" id="lock"></a><div class="element clickable method public lock" data-toggle="collapse" data-target=".lock .collapse">
<h2>Lock a user account and immediately destroy their session (log them out)</h2>
<pre>lock(int $uid) : int</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<p class="long_description"></p>
<h3>Parameters</h3>
<div class="subelement argument">
<h4>$uid</h4>
<code>int</code>
</div>
<h3>Returns</h3>
<div class="subelement response">
<code>int</code>Success or Error Id</div>
</div></div>
</div>
<a name="unlock" id="unlock"></a><div class="element clickable method public unlock" data-toggle="collapse" data-target=".unlock .collapse">
<h2>Unlock a user account</h2>
<pre>unlock(int $uid) : int</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<p class="long_description"></p>
<h3>Parameters</h3>
<div class="subelement argument">
<h4>$uid</h4>
<code>int</code>
</div>
<h3>Returns</h3>
<div class="subelement response">
<code>int</code>Success or Error Id</div>
</div></div>
</div>
<a name="updateUser" id="updateUser"></a><div class="element clickable method public updateUser" data-toggle="collapse" data-target=".updateUser .collapse">
<h2>Update a user record</h2>
<pre>updateUser(array $columnData) : int</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<p class="long_description"></p>
<h3>Parameters</h3>
<div class="subelement argument">
<h4>$columnData</h4>
<code>array</code>
</div>
<h3>Returns</h3>
<div class="subelement response">
<code>int</code>Success or Error Id</div>
</div></div>
</div>
<h3>
<i class="icon-custom icon-property"></i> Properties</h3>
<a name="%24auth_table" id="$auth_table"> </a><div class="element clickable property private $auth_table" data-toggle="collapse" data-target=".$auth_table .collapse">
<h2>$auth_table</h2>
<pre>$auth_table </pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
</div>
<a name="%24config" id="$config"> </a><div class="element clickable property private $config" data-toggle="collapse" data-target=".$config .collapse">
<h2>$config</h2>
<pre>$config </pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
</div>
<a name="%24forge" id="$forge"> </a><div class="element clickable property private $forge" data-toggle="collapse" data-target=".$forge .collapse">
<h2>$forge</h2>
<pre>$forge </pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
</div>
<a name="%24passwordCol" id="$passwordCol"> </a><div class="element clickable property private $passwordCol" data-toggle="collapse" data-target=".$passwordCol .collapse">
<h2>$passwordCol</h2>
<pre>$passwordCol </pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
</div>
<a name="%24registry" id="$registry"> </a><div class="element clickable property private $registry" data-toggle="collapse" data-target=".$registry .collapse">
<h2>$registry</h2>
<pre>$registry </pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
</div>
<a name="%24session" id="$session"> </a><div class="element clickable property private $session" data-toggle="collapse" data-target=".$session .collapse">
<h2>$session</h2>
<pre>$session </pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
</div>
<a name="%24useridCol" id="$useridCol"> </a><div class="element clickable property private $useridCol" data-toggle="collapse" data-target=".$useridCol .collapse">
<h2>$useridCol</h2>
<pre>$useridCol </pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
</div>
<a name="%24usernameCol" id="$usernameCol"> </a><div class="element clickable property private $usernameCol" data-toggle="collapse" data-target=".$usernameCol .collapse">
<h2>$usernameCol</h2>
<pre>$usernameCol </pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
</div>
</div>
</div>
</div>
</div>
<div class="row"><footer class="span12">
            Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
            Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a7</a> and<br>
            generated on 2012-07-06T18:53:43-05:00.<br></footer></div>
</div>
</body>
</html>
